package com.atguigu.composite;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description: 客户端
 * @create: 2022-02-19 15:32
 **/
public class Client {
    public static void main(String[] args) {
        //从大到小创建对象 学校
        OrganizationComponent university = new University("清华大学", "中国顶级学校");

        //创建学院
        OrganizationComponent computerCollege = new College("计算机学院", "计算机引领时代");
        OrganizationComponent infoEngineerCollege = new College("信息工程学院", "信息工程引领时代");

        //创建各个学院下面的系（也就是专业）
        computerCollege.add(new Department("软件工程", "软件工程不错"));
        computerCollege.add(new Department("网络工程", "网络工程不错"));
        computerCollege.add(new Department("计算机科学与技术", "计算机科学与技术不错"));

        infoEngineerCollege.add(new Department("通信工程", "通信工程好学"));
        infoEngineerCollege.add(new Department("信息工程", "信息工程好学"));

        university.add(computerCollege);
        university.add(infoEngineerCollege);

        //1.打印大学的组织结构
        university.print();

        //2.打印某学院的组织结构，都是可以直接调用
        System.out.println("-----------------打印某学院的组织结构------------------");
        computerCollege.print();
    }
}
